A data recorder such as a flight data recorder may comprise a non-volatile flash memory recording pre-crash flight data for later recovery by crash investigators. In an event such as a crash, ambient conditions such as prolonged heat from a fire may corrupt data stored in bit cells of the read-write flash memory for several reasons, including charge migration within the bit cells. In the latter case, it is known to recover data by heating the read-write memory in a temperature chamber to re-establish the pre-crash bit states of the bit cells. However, the temperature-chamber technique may be ineffective for newer semiconductor geometries.
Another solution to the volatility of stored data under high temperature conditions is to save the data to a programmable ROM memory (a programming step). However, the programming step may draw down backup battery power better reserved for other purposes, such as a radio beacon contained in a flight data recorder. Additionally, a special burn voltage may be required to perform the programming step which is higher than the standard voltages within the read-write memory. Further, there may not be a reliable means to assess the ambient conditions so that a timely programming decision is made. Also, the memory controller performing read-write operations on the read-write memory may have failed, disabling any memory backup procedure. And finally, there may not be enough time to transfer data from a read-write memory to a programmable ROM before ambient conditions are too harsh for preserving data integrity.